<?php

/**
 * Représente un champ de type input
 *
 * @package cass
 * @author Mickaël CASTANHEIRO <mickael.castanheiro@gmail.com>
 * @version 1.0
 */

namespace cass\formulaire;
class InputImage extends InputFile {
   

    /**
     * Récupère les données en post (ou en get..)
     */
    public function bind() {
        $file = parent::bind();
        if (empty($file)) return $file;
        list($w, $h) = getimagesize($this->properties->path);
        $this->properties->width = $w;
        $this->properties->height = $h;
        return $file;
    }

     /**
     * Vérifie la validité du champ
     */
    public function check() { 
        parent::check();
        if (!$this->isError() AND !$this->isImage()) {
            $this->setError('Le fichier chargé n\'est pas une image');
        }
    }

    /**
     * Check la taille maximum de l'image
     */
    public function checkMaxSize($_maxWidth = 200, $_maxHeight= 200) {
        if ( empty($this->properties) ) return true; // Si pas de chargement, la taille est forcémment correcte
        return ( ($this->properties->width <= $_maxWidth) AND ($this->properties->height <= $_maxHeight) );
    }
}

?>
